/******************************************************
Cours:   LOG121
Session: A2013
Groupe:  
Projet: Laboratoire #3
etudiant(e)s: Simon Castro
			  Fredy Alexander 
			  Renaud Vincent


Professeur : 
Nom du fichier: Fabrique.java
Date cree: 2013-11-08
Date dern. modif. 2013-11-08
 *******************************************************
Historique des modifications

 *******************************************************
2013-11-08 Version 1.0

 *******************************************************/ 
package cadricielJeuDe;

import java.util.ArrayList;

/**
 * Cette classe est responsable de la creation des objet De, joueur
 * et Jeu.
 * 
 * @author Simon
 *
 */
public class Fabrique {

	/**
	 * Constructeur par default
	 */
	public Fabrique() {
		
	}
	
	/**
	 * Recoit un nom sous forme de string et cree un objet joueur
	 * avant de le retourner.
	 * @param nom Le nom du joueur a creer
	 * @return un objet Joueur a ajouter a la collection
	 */
	public Joueur creationJoueur(String nom){
		return new Joueur(nom);
	}
	
	/**
	 * Cree et retourne un objet de type De selon les valeurs
	 * fournies en parametres
	 * @param nbrFaces le nombre de faces du de
	 * @param listeValeurs la liste des valeurs pour chacunes des faces
	 * @return un objet De a ajouter a la collection
	 */
	public De creationDe(int nbrFaces, ArrayList<Integer> listeValeurs){
		return new De(nbrFaces,listeValeurs);
	}
	
	/**
	 * Cette classe represente le Jeu a jouer, elle contient la liste des joueurs
	 * ainsi que les des ayant le nombre de faces et les valeurs souhaitees.
	 * 
	 * @param joueurs une collection d'objet joueurs qui vont faire une partie
	 * @return Un objet Jeu contenant la liste de joueurs et les des crees selon
	 * les besoins du jeu.
	 */
	public Jeu creationJeu(Partie partie, CalculateurScore strategie){
		return new Jeu(partie, strategie);
	}

}
